#include "genlab.h"

int main(int argc, char **argv){
    
    int largeur=300 ,
        hauteur=200 ,
        seed        ,
        i,j         ,
        pixelsize=1 ;

    char *fichier=NULL ,
         options=0     ;

    srand(time(NULL));

    for(i=1 ; i<argc ; i++){
        j=0;
        while(argv[i][j]!='\0') j++;
        if(j==2 && argv[i][0]=='-'){
            if(argv[i][1]=='v' && options==0){
                options=1;
            }else if(argv[i][1]=='d'){
                options=2;
            }else if(argv[i][1]=='l'){
                i++;
                largeur = atoi(argv[i]);
                if(largeur>1000) largeur=1000;
            }else if(argv[i][1]=='h'){
                i++;
                hauteur = atoi(argv[i]);
                if(hauteur>800) hauteur=800;
            }
        }else{
            fichier = argv[i];
        }

    }
    
    seed = (largeur+hauteur)/2; // On estime qu'une graine pour 200 case est un bon nombre

    if(largeur<=250 && hauteur <=200) 
        pixelsize=4;
    else if(largeur<=300 && hauteur<=250) 
        pixelsize=3;
    else if(largeur<=500 && hauteur<=400) 
        pixelsize=2;
    else 
        pixelsize=1;

    if(options){
        initgraph(largeur*pixelsize,hauteur*pixelsize);
        cleargraph();
        setcolor(0);
    }

    Mat *laby;
    laby = MatAlloc(hauteur,largeur);
    MatCadre(laby);
    MatSeed(seed,laby);
    MatLaby(laby,options,pixelsize);
    if(fichier!=NULL) MatSauve(fichier,laby);

    MatFree(laby);
   
    if(options) waitgraph();

    return 0;
}
